1. Field of Invention
The present invention relates to an Ethernet switch controller. More particularly, the present invention relates to an Ethernet switch controller capable of relieving flow congestion in a network.
2. Description of Related Art
Ethernet is a kind of local area network (LAN) standard, most widely used in communication. However, due to a data transmission rate of mere 10 Mbps, a conventional Ethernet can hardly transmit the vast quantity of data flow required in a multi-media system. Consequently, a faster Ethernet system having a data transmission rate of 100 Mbps called Fast Ethernet appears. In the Fast Ethernet design, a physical coding sublayer (PCS) is introduced between a medium access control (MAC) sublayer and a physical medium dependency (PMD) sublayer. To use the Fast Ethernet system, the network interface card in each network workstation has to be replaced by a 100 Mbps fast Ethernet interface card. If one wants to keep the network interface card in each workstation but raise the transmission speed, an Ethernet switch must be employed. In fact, by retaining the original network interface card in each workstation, the 10 Mbps Ethernet equipment formerly invested by a company can be incorporated into the Fast Ethernet network through the Ethernet switch.
The conventional Ethernet, using twisted pair (whether the data transmission rate is 10 Mbps or 100 Mbps), is necessary to be connected to a server via an Ethernet hub, so as to share the network information. In general, the bandwidth of an Ethernet hub is normally shared by all the workstations connected to the network. For example, for a 16 port 100 Mbps Ethernet hub, if four workstations are connected to the network, the bandwidth is shared between these four workstations. On the other hand, if each of the 16 ports is connected to a workstation, the bandwidth is shared between all sixteen workstations. As the number of network user increases, the number of collisions in the network increases proportionately. Hence, network bandwidth available for each user accordingly decreases when the number of users increases. In a multimedia-craved world, a conventional Ethernet hub can hardly meet requirement of the information traffic demanded by concurrent users.
The Ethernet switch is a new concept for improving data flow so that each of the workstations connected to the device is able to enjoy a faster data transmission. To achieve correct data switching, the switch keeps the records of the various connections between each workstation and each connection port. In other words, the switch must have a module for recording all the addresses similar to a bridging device. When the switch receives a frame, the device will consult a path lookup table to find the destination port with respect to the destination workstation. If the destination workstation is found, a controller will send out a control signal to the switching element redirecting the frame to the destination port. On the contrary, if the destination workstation is not found, the frame is broadcast to all the connection ports just to ensure that the destination workstation is able to receive this frame.
The institute of electrical & electronics engineering (IEEE) has provided a standard specification 802.3u for network management 802.3u capable of simplifying network management. The IEEE standard 802.3u introduces an auto-negotiation function, also known as an N-way function. The auto-negotiation function enables the Ethernet switch and the Ethernet interface card of a workstation to have the states of each other. Each device can have a number of states. Table 1 is a listing of various combinations of states between the devices. Through the N-way, the data transmission rate (whether operating at 10 Mbps or 100 Mbps), and multiplexing mode (full duplex or half-duplex) of the link partner can be obtained. Hence, a congestion control method to be employed can be determined.
Before auto-negotiation strategies are incorporated into standard specification 802.3u of IEEE, a few manufacturers have already produced Ethernet card is with auto-sensing capability with its own specification. A number of Ethernet switches and Ethernet cards are also shown in Table 1, wherein some of the devices have auto-negotiation functions while some has not.
Due to the rapid progress in semiconductor technologies, the difference of the cost of producing an Ethernet switch and an Ethernet hub is getting smaller. Because of the many advantages of an Ethernet switch, Ethernet hubs are gradually replaced by Ethernet switches. Moreover, since an Ethernet switch can perform the functions provided by an Ethernet hub, the combination of devices detailed in Table 1 is equally applicable to Ethernet switches.
Furthermore, due to the multiplicity of transmission modes between different Ethernet devices, the automatic-negotiation must rely on an algorithm to determine a priority sequence registered in a table, so as to select the optimal transmission mode between two Ethernet devices. For example, a 10/100 Mbps dual speed network card is capable of operating at 10 Mbps or 100 Mbps. To set the transmission mode, the priority sequence table must opt for working in 100 Mbps unless constrained by other factors. Table 2 is a priority setting for the different transmission modes for the Ethernet devices having auto-negotiation capability.
In Table 2, full duplex transmission mode has a higher priority than half-duplex mode because full duplex has a much higher data transmission rate than half-duplex. Transmission mode 10BASE-T has the least priority because it has the slowest data transmission rate. By consulting the priority table 2, the most suitable mode for transmitting data between the Ethernet switch (hub) and the network card can be selected.
TABLE 1Various combination of states between an Ethernet hub (switch) andEthernet card achieved through ‘auto-negotiation’ function or otherwiseNew generationof auto-New generationnegotiationSupport only 10Support only10/100TX co-10/100TX co-BASE-T hub100BASE-Texistent networkexistent hub(switch)hub (switch)and hub (switch)(switch)Support only10 MbpsChange to a 100Manual switchingAutomatic10BASE-TMbps networkof the hubswitching ofnetwork cardcard(switch) to 10hub (switch) toMbps10 MbpsNetwork cardAutomaticAutomaticAutomaticManualwith non-switching ofswitching ofswitching ofswitching ofstandard auto-network card tonetwork card tonetwork card tohub (switch)sensing10 Mbps100 Mbps100 Mbps afterand networkcapabilitymanual switchingcard to 100of hub (switch) toMbps100 Mbps10/100TX co-AutomaticAutomaticManual switchingAutomaticexistentswitching ofswitching ofof hub (switch)switching ofnetwork cardnetwork card tonetwork card toand network cardhub (switch)with new10 Mbps half-100 Mbpsto 100 Bbpsand networkgeneration auto-duplexcard to 100negotiationMbpscapability
TABLE 2Priority setting of Ethernet devices with auto-negotiation capabilityPriorityExplanations1100BASE-T2 full duplex2100BASE-T23100BASE-TX full duplex4100BASE-T45100BASE-TX610BASE-T full duplex710BASE-T
To increase the overall throughput after the best transmission mode is chosen, the Ethernet switch generally provides a congestion control mechanism for transmitting information packets from the transmission ports fluently. According to the resulting auto-negotiation between the destination device (for example, an network card) and the Ethernet switch, one of the following three congestion control modes are adopted: (1) when the destination device has full-duplex transmission capacity and flow control capability, the Ethernet switch will opt for a flow control mode; (2) when the destination device has full-duplex transmission capacity but no flow control capability, the Ethernet switch will opt for a drop control mode; and (3) when the destination device has neither full-duplex transmission capacity nor flow control capability, the Ethernet switch will opt for a back-pressure control mode.
In the aforementioned backpressure control mode, the Ethernet switching controller issues a collision signal to destroy the packet. On detecting the collision, the workstation enters into a binary exponential backoff algorithm to compute a waiting time, and then the packet is re-submitted. In the aforementioned drop control mode, the packet is necessary to be dropped at the source port, so that the packet is not sent to the congested destination port. This is because when the destination port has entered the congestion state, the transmission and receiving paths are different in full duplex mode, such that the collision signal cannot be used to destroy the packet. The packet is dropped at the source port. In the aforementioned flow control mode, the source port enters a flow control mode when the destination port is congested. In subsequent stage, flow control windows (XOFF windows) are triggered. Once XOFF windows are triggered, the Ethernet switching controller controls the flow in/out of packets according to the number of free buffers present. That means, control right is in the receiver.
Before IEEE 802.3u standard is made, flow control capability (FC) has no standard. Many network-device manufacturers set up their own flow control standard. Consequently, after the establishment of flow control standard 802.3u by IEEE, a lot of flow control equipment does not operate in accordance with the new standard. For example, an ‘ON’ signal for the flow control capability received by the Ethernet switch may not conform to the standard. Hence, actual flow control does not work.
One major drawback of the congestion control method used in the conventional Ethernet switch controller is that the Ethernet switch controller cannot discern whether the connected devices have actual flow control capability or not. As soon as the controller receives a signal from the connected device indicating a flow control capability, the controller issues a flow control frame to the connected device even if the connected device has no standard flow control capability. This fails the flow control.